package queriePackage;

import java.util.ArrayList;
import java.util.HashMap;

public class MySqlQueries {
	// alleTabelGegevens bevat per lijst/tabel:
	// 1. aantal records
	// 2. tabelnaam
	// 3 en hoger. kolomnamen
	private ArrayList<ArrayList> alleTabelGegevens;
	// kolomWaarden met key="tabelnaam-kolomnaam" en waarde=lijst met
	// invoerwaarden
	private HashMap<String, ArrayList<String>> kolomWaarden;
	private ArrayList<String> queries;

	public MySqlQueries(ArrayList<ArrayList> alleTabelGegevens,
			HashMap<String, ArrayList<String>> kolomWaarden) {
		this.alleTabelGegevens = alleTabelGegevens;
		this.kolomWaarden = kolomWaarden;
		queries = new ArrayList<String>();
		String query = "";
		for (ArrayList<String> tabelGegevens : alleTabelGegevens) {
			int aantalRegels = Integer.parseInt(tabelGegevens.get(0));
			String tabelNaam = tabelGegevens.get(1);
			tabelGegevens.remove(0);
			tabelGegevens.remove(0);
			for (int i = 0; i < aantalRegels; i++) {
				int huidigeKolom = 0;
				int totaalKolommen = tabelGegevens.size();
				query = "INSERT INTO " + tabelNaam + " VALUES(";
				for (String regel : tabelGegevens) {
					String invoerWaarde = (kolomWaarden.get(tabelNaam + "-" + regel) != null) ? kolomWaarden
							.get(tabelNaam + "-" + regel).get(i) : "";
					query += "'" + invoerWaarde + "'";
					if (++huidigeKolom < totaalKolommen) {
						query += ",";
					} else {
						query += ");";
					}
				}
				queries.add(query);
			}
		}
	}

	public ArrayList<String> getQueries() {
		return queries;
	}
}
